package com.xiaohua.api.service;

import com.xiaohua.common.core.domain.AjaxResult;
import java.io.File;
import java.util.Date;

/**
 * API文件服务接口
 * 
 * @author 小花
 * @date 2025-04-07
 */
public interface IXhFileService {
    
    /**
     * 保存文件信息到数据库
     * 
     * @param userId 用户ID
     * @param fileName 文件名
     * @param fileType 文件类型
     * @param storagePath 存储路径
     * @param isEncrypted 是否加密 (0-否, 1-是)
     * @param encryptionKey 加密密钥(如果有)
     * @return 文件ID
     */
    Long saveFile(Long userId, String fileName, String fileType, String storagePath, 
            Integer isEncrypted, String encryptionKey);
    
    /**
     * 保存文件信息到数据库，简化版
     * 
     * @param userId 用户ID
     * @param file 文件对象
     * @param storagePath 存储路径
     * @param isEncrypted 是否加密 (0-否, 1-是)
     * @return 文件ID
     */
    Long saveFile(Long userId, File file, String storagePath, Integer isEncrypted);
    
    /**
     * 从AjaxResult中提取文件信息并保存
     * 
     * @param userId 用户ID
     * @param result 接口返回结果
     * @param operationType 操作类型
     * @return 是否成功保存
     */
    boolean saveFileFromResult(Long userId, AjaxResult result, String operationType);
} 